package com.file;

import java.io.File;
import lombok.extern.log4j.Log4j2;

/**
 * 
 * @author 墨渐生微 文件操作的工具类
 */
@Log4j2
public class FileUtil {
	/**
	 * 文件夹或文件的级别
	 */
	static String temp = "";

	
	/**
	 * 递归遍历文件夹,执行操作
	 */
	public static void traverseFolder(File file) {
		// 判断文件不为null且是文件
		if (null != file && file.isFile()) {
			// 文件的日志记录
			log.info(temp + "文件:" + file.getName());
			/**
			 * 文件的操作
			 */
		} else if (file.isDirectory()) {
			// 获取文件夹下的所有文件
			File[] listFiles = file.listFiles();
			temp += "-";
			if (null != listFiles && 0 < listFiles.length) {
				// 文件夹的日志记录
				log.info(temp + "文件夹:" + file.getName());
				/**
				 * 文件夹的操作
				 */
				// 遍历所有的子文件夹
				for (File child : listFiles) {
					traverseFolder(child);
				}
			} else {
				// 文件的日志记录
				log.info(temp + "空文件夹" + file.getName());
				// 空文件夹的操作

			}
			temp = temp.substring(0, temp.length() - 1);
		}
		/**
		 * 所有的操作
		 */
	}
}
